Model predictive control (MPC) is an optimization-based control strategy, which has been successfully applied in a wide range of applications, such as chemical process control, servo motion control, automotive cruise control, and multi-agent control in transportation networks, see e.g., U.S. Pat. Nos. 7,826,909, “Dynamic model predictive control,” 7,418,372, “Model predictive control apparatus,” and 5,519,605, “Model predictive control apparatus and method.”
An MPC formulation is as follows. At each sampling time instant, an optimization problem is solved to minimize user-specified costs over a finite horizon in forward time, and a sequence of controls is obtained. This optimization is performed online, also referred to as in real-time. From the sequence of controls in forward time, only the first control is applied and the system is driven to the next sample time, when the above procedure is repeated. The cost function at each sample time can have various structures, an example being a quadratic form, which makes the optimization problem a quadratic programming (QP) problem.
One of the main drawbacks of MPC is that it requires long computation times to solve the optimization problem at each sampling time instant. Therefore, it is usually restricted to systems with slow dynamics and large sampling time intervals, such as chemical processes.
More recently, MPC has been used in control applications with short sampling time intervals, by adapting fast optimization methods. In particular, fast QP methods have been proposed for the MPC problem to enable fast solution of the QP problem posed at each sampling time. For instance, interior point methods have are known that are specifically adapted to take advantage of the special structure of the QP problem in the MPC setting, thus achieving significant reduction in processing time.
An active set method assigns priorities to constraints associated with a more “recent” future. Gradient methods for the MPC of linear time-invariant (LTI) systems with input constraints are also known.
Although the above methods can reduce processing time, many of the methods are heuristics without any guarantees on convergence to a global minimum. In addition, parallel implementation of those methods, when possible, depends on specific problem structures and input data.